var app=getApp()
var moduleUrl=app.baseUrl+'/client/reward'
Page({
  data: {
    currentIndex: 1,
    loading: true,        // 添加加载状态
    isRefreshing: false,  // 添加刷新状态
    rewards: [],          // 初始化奖励列表
    record: [],           // 初始化记录列表
    userCredit: 0         // 初始化用户积分
  },
  switchContent: function(e) {
    console.log(this.data.currentIndex)
    const index = e.currentTarget.dataset.index;
    this.setData({
      currentIndex: index,
      loading: true       // 切换时显示加载状态
    });
    if(this.data.currentIndex==1){
      this.getRewards()
      this.getCreditRecord()
    }else if(this.data.currentIndex==2){
      this.getCreditRecord()
      this.getRewards()
    }
    console.log(this.data.currentIndex)
  },
  onLoad() {
    console.log(app.baseUrl)
    this.setData({
      baseUrl:app.baseUrl
    })
    this.getRewards()
  },
  
  /**
   * 页面显示时执行
   */
  onShow() {
    console.log('===== 页面显示 =====');
    
    // 根据全局状态决定是否需要刷新
    if (app.globalData && app.globalData.needRefreshDetail) {
      console.log('===== 需要刷新积分信息 =====');
      
      // 根据当前选中的选项卡加载相应数据
      if(this.data.currentIndex == 1){
        this.getRewards()
        this.getCreditRecord()
      } else if(this.data.currentIndex == 2){
        this.getCreditRecord()
        this.getRewards()
      }
      
      // 重置刷新标志
      app.globalData.needRefreshDetail = false;
    }
  },

  /**
   * 页面隐藏
   */
  onHide() {
    console.log('===== 页面隐藏 =====');
  },

  /**
   * 页面卸载
   */
  onUnload() {
    console.log('===== 页面卸载 =====');
  },
  
  /**
   * 下拉刷新触发函数
   */
  onPullDownRefresh() {
    console.log("===== 触发下拉刷新 =====");
    
    // 设置刷新状态
    this.setData({
      isRefreshing: true
    });
    
    // 根据当前选中的选项卡刷新相应数据
    if(this.data.currentIndex == 1){
      this.getRewards()
    } else if(this.data.currentIndex == 2){
      this.getCreditRecord()
    } else {
      // 如果没有匹配的选项卡，直接停止刷新
      dd.stopPullDownRefresh();
    }
  },
  
  getRewards(){
    var that = this
    
    // 设置加载状态
    this.setData({
      loading: true
    });
    
    dd.httpRequest({
      url: moduleUrl+'/index?userId='+app.userId,
      method: 'GET',
      headers:{
        "Content-Type":"application/json"
      },
      success: function(res) {  
        console.log(app.baseUrl+'client/reward'+'/reward/index',res)
        that.setData({
          rewards:res.data.data.rewardList,
          userCredit:res.data.data.userCredit,
          loading: false,
        })
      },
      fail: function(res) {
        that.setData({
          loading: false,
        });
        
        dd.showToast({
          type: 'fail',
          content: '数据加载失败，请重试',
          duration: 2000
        });
        
        // 记录错误
        if (app.handleError) {
          app.handleError(res, 'credit页面');
        }
      },
      complete: function(res) {
        console.log(that.data.isRefreshing)
        // 停止下拉刷新动画（如果是由下拉刷新触发的）
        if (that.data.isRefreshing) {
          dd.stopPullDownRefresh();
        }
      }
    });
  },
  getCreditRecord(){
    console.log('getCreditRecord:开始')
    var that = this
    
    // 设置加载状态
    this.setData({
      loading: true
    });
    
    dd.httpRequest({
      url: moduleUrl+'/creditRecord',
      method: 'GET',
      headers:{
        "Content-Type":"application/json"
      },
      data:{
        userId:app.userId
      },
      success: function(res) {  
        that.setData({
          record:res.data.data,
          loading: false
        })
      },
      fail: function(res) {
        that.setData({
          loading: false
        });
        
        dd.showToast({
          type: 'fail',
          content: '数据加载失败，请重试',
          duration: 2000
        });
        
        // 记录错误
        if (app.handleError) {
          app.handleError(res, 'credit页面');
        }
      },
      complete: function(res) {
        console.log(moduleUrl+'/creditRecord',res);
        
        // 停止下拉刷新动画（如果是由下拉刷新触发的）
        if (that.data.isRefreshing) {
          dd.stopPullDownRefresh();
        }
      }
    });
  }
});
